@@ -41,7 +41,7 @@ public class App extends Application{ |
||
41 | 41 |
super.onCreate(); |
42 | 42 |
mInstance = this.getApplicationContext(); |
43 | 43 |
if(!checkUsbPermission()){ |
44 |
- Toast.makeText(this,"申请usb权限失败",Toast.LENGTH_SHORT).show(); |
|
44 |
+ Toast.makeText(this,R.string.usb_permission_denied,Toast.LENGTH_SHORT).show(); |
|
45 | 45 |
} |
46 | 46 |
checkCameraLibs(); |
47 | 47 |
initImageLoader(); |
@@ -50,6 +50,7 @@ public class App extends Application{ |
||
50 | 50 |
} |
51 | 51 |
|
52 | 52 |
private boolean checkUsbPermission(){ |
53 |
+ LogHelper.d("czy","checkUsbPermission starts"); |
|
53 | 54 |
Process process = null; |
54 | 55 |
DataOutputStream os = null; |
55 | 56 |
try { |
@@ -57,7 +58,7 @@ public class App extends Application{ |
||
57 | 58 |
String cmd1 = "setenforce 0"; |
58 | 59 |
String cmd2 = "chmod -R 0777 /dev/bus/usb" ; |
59 | 60 |
|
60 |
- process = Runtime.getRuntime().exec("su"); // 切换到root帐号 |
|
61 |
+ process = Runtime.getRuntime().exec("su"); |
|
61 | 62 |
os = new DataOutputStream(process.getOutputStream()); |
62 | 63 |
os.writeBytes(cmd + "\n"); |
63 | 64 |
os.writeBytes(cmd1 + "\n"); |
@@ -67,6 +68,7 @@ public class App extends Application{ |
||
67 | 68 |
process.waitFor(); |
68 | 69 |
return true; |
69 | 70 |
} catch (Exception e) { |
71 |
+ LogHelper.d("czy","checkUsbPermission exception occur -->"+e); |
|
70 | 72 |
return false; |
71 | 73 |
} finally { |
72 | 74 |
try { |
@@ -79,13 +81,14 @@ public class App extends Application{ |
||
79 | 81 |
} |
80 | 82 |
} |
81 | 83 |
|
82 |
- public void copyResToSdcard(String name){ |
|
84 |
+ public void copyRawLibToSdcard(String dirPath){ |
|
85 |
+ LogHelper.d("czy","copyRawLibToSdcard"); |
|
83 | 86 |
Field[] raw = R.raw.class.getFields(); |
84 | 87 |
for (Field r : raw) { |
85 | 88 |
try { |
86 | 89 |
int id=getResources().getIdentifier(r.getName(), "raw", getPackageName()); |
87 | 90 |
if(r.getName().startsWith("camera")){ |
88 |
- String path=name+"/"+r.getName()+".so"; |
|
91 |
+ String path=dirPath+"/"+r.getName()+".so"; |
|
89 | 92 |
BufferedOutputStream rawZipWriter = new BufferedOutputStream((new FileOutputStream(new File(path)))); |
90 | 93 |
BufferedInputStream rawZipReader = new BufferedInputStream(getResources().openRawResource(id)); |
91 | 94 |
byte[] buff = new byte[20*1024]; |
@@ -98,6 +101,7 @@ public class App extends Application{ |
||
98 | 101 |
rawZipReader.close(); |
99 | 102 |
} |
100 | 103 |
} catch (Exception e) { |
104 |
+ LogHelper.d("czy","copyRawLibToSdcard exception occur -->"+e); |
|
101 | 105 |
e.printStackTrace(); |
102 | 106 |
} |
103 | 107 |
} |
@@ -111,7 +115,7 @@ public class App extends Application{ |
||
111 | 115 |
String tmpLibDirPath = "/mnt/sdcard/lensman"; |
112 | 116 |
File file = new File(tmpLibDirPath); |
113 | 117 |
file.mkdirs(); |
114 |
- copyResToSdcard(tmpLibDirPath); |
|
118 |
+ copyRawLibToSdcard(tmpLibDirPath); |
|
115 | 119 |
final String unzipPath = tmpLibDirPath+File.separator+"so"; |
116 | 120 |
new File(unzipPath).mkdirs(); |
117 | 121 |
new FileUnzipTask(tmpLibDirPath + File.separator + "camera.so", unzipPath, new FileUnzipTask.FileUnzipListener() { |
@@ -189,7 +193,6 @@ public class App extends Application{ |
||
189 | 193 |
if (dir.isDirectory()) { |
190 | 194 |
String[] children = dir.list(); |
191 | 195 |
if (children != null) { |
192 |
- // 递归删除目录中的子目录下 |
|
193 | 196 |
for (int i = 0; i < children.length; i++) { |
194 | 197 |
boolean success = deleteDir(new File(dir, children[i])); |
195 | 198 |
if (!success) { |
@@ -197,12 +200,10 @@ public class App extends Application{ |
||
197 | 200 |
} |
198 | 201 |
} |
199 | 202 |
} |
200 |
- |
|
201 | 203 |
} |
202 | 204 |
if (!dir.canRead() || !dir.canWrite()) { |
203 | 205 |
return false; |
204 | 206 |
} |
205 |
- // 目录此时为空,可以删除 |
|
206 | 207 |
return dir.delete(); |
207 | 208 |
} |
208 | 209 |
|
@@ -140,4 +140,5 @@ |
||
140 | 140 |
|
141 | 141 |
<string name="session_photo_limit">只显示最近200张照片,您可以到存储卡目录查看更多</string> |
142 | 142 |
|
143 |
+ <string name="usb_permission_denied">请检查设备是否已开放root权限</string> |
|
143 | 144 |
</resources> |